package com.cd.learn.cdlearn.algorithm;

import com.cd.learn.cdlearn.algorithm.util.CheckAlgorithmUtil;
import org.junit.Test;

/**
 * @Author: seven
 * @Date: 2021/4/29 下午3:21
 * 冒泡排序
 */
public class BubbleSort extends CheckAlgorithmUtil {


    /**
     * 冒泡排序，第一遍取最大数放在第一个下标，第二次遍历取次最大数放在第二下标，第三次遍历再次最大数放在第三下标。。。。。。。。
     */
    @Override
    @Test
    public void test() {
        super.test();
    }

    /**
     * 遍历每一个数去和数组中其他数进行比较
     * @param array 数组
     */
    @Override
    public void sort(int[] array){
        for (int i = 0; i < array.length; i++) {
            compare(array,i);
        }
    }

    /**
     * 拿数组中的某一个数和其他进行比较
     * @param array 数组
     * @param index 将要进行比较的数在数组中的下标
     */
    public static void compare(int[] array,int index){
        for (int i = index+1; i < array.length; i++) {
            if(array[i] < array[index]){
                exchange(array,i,index);
            }
        }
    }




}
